﻿using Cofe.Core.Property;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Schema;
using System.Xml.Serialization;

namespace Cofe.Core.Implements
{
    //public class XmlPropertyProvider : IPropertyProvider, IXmlSerializable
    //{
    //    #region Constructor

    //    private void init(XElement element, IPropertyDictionary propDic)
    //    {
    //        foreach (var subEle in element.Elements())
    //        {
    //            object property = propDic.GetProperty(subEle.Name.LocalName);
    //            if (property != null && !_properties.ContainsKey(property))
    //                _properties.Add(property, new PropertyPair(property, subEle.Value));
    //        }
    //    }

        
    //    #endregion

    //    #region Methods

    //    public IEnumerable<object> GetSupportedProperty()
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public bool IsPropertySupported(object property)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public bool IsPropertyReadOnly(object property)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public Task<PropertyPair> GetPropertyAsync(object property)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public Task<bool> SetPropertyAsync(PropertyPair propertyPair)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public Task RefreshAsync()
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public XmlSchema GetSchema()
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public void ReadXml(XmlReader reader)
    //    {
    //        throw new NotImplementedException();
    //    }

    //    public void WriteXml(XmlWriter writer)
    //    {
    //        throw new NotImplementedException();
    //    }
        
    //    #endregion

    //    #region Data

    //    Dictionary<object, PropertyPair> _properties = new Dictionary<object,PropertyPair>();
        
    //    #endregion

    //    #region Public Properties
        
    //    #endregion



    //    public IPropertyDefinitions[] SupportedDefinitions
    //    {
    //        get { throw new NotImplementedException(); }
    //    }


    //    public IPropertyDictionary PropertyDictionary
    //    {
    //        get
    //        {
    //            throw new NotImplementedException();
    //        }
    //        set
    //        {
    //            throw new NotImplementedException();
    //        }
    //    }
    //}
}
